// 大数相加 进行超大数额的加法
/**
 *
 * @param {number} v1
 * @param {number} v2
 * @returns {string}
 */
export const test = (v1, v2) => {
  // 获取两个参数的最大长度
  const maxLength = Math.max(v1.length, v2.length);

  //   在它们不足长的位置前 加0
  v1 = v1.padStart(maxLength, 0);
  v2 = v2.padStart(maxLength, 0);

  // 定义我们输出的数
  let sum = "";

  // 定义是否首加超过0
  let f = 0;

  for (let i = maxLength; i >= 0; i--) {
    //   从最低位开始计算 f是前一位溢出的值
    const a = parseInt(v1[i]) + parseInt(v2[i]) + f;
    //   计算是否超出10
    f = Math.floor(a / 10);
    //   一位一位的累加上去
    sum = (a % 10) + sum;
  }

  //   到这里f最多等于1
  if (f == 1) {
    sum = "1" + sum;
  }

  return sum;
};
